package cn.wolfcode.edu.mapper;

import cn.wolfcode.edu.domain.ClassGrade;
import cn.wolfcode.edu.domain.FormalStudent;
import cn.wolfcode.edu.query.QueryObject;
import cn.wolfcode.edu.query.StudentChartQuery;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface FormalStudentMapper {
    int insert(FormalStudent entity);

    FormalStudent selectByPrimaryKey(Long id);

    List<FormalStudent> selectAll();

    int updateByPrimaryKey(FormalStudent entity);

    int queryForCount(QueryObject qo);

    List<FormalStudent> queryForList(QueryObject qo);

    void updateForEdit(FormalStudent student);

    void updateForTransfer(FormalStudent student);

    void quitStudent(@Param("id") Long id, @Param("statusVal") int statusVal);

    List<FormalStudent> listAllNotYetPay();

    List<Map<String,Object>> listForClient(StudentChartQuery qo);

    void updateStatus(@Param("id") Long id, @Param("status") int status);

    void changeStatus(@Param("tel") String tel, @Param("status") int status);

    void upgrade(@Param("nowClz") Long nowClz, @Param("newClz") Long newClz);
}